Colin Walters [Wed, 25 Jun 2025 17:39:48 +0000 (13:39 -0400)]
build-sys: Move clang-format into justfile
We don't need a build to run it, it's more appropriate
there.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 17 Jun 2025 22:11:46 +0000 (18:11 -0400)]
justfile: Accept args, add build-host shortcuts
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Wed, 25 Jun 2025 13:24:39 +0000 (09:24 -0400)]
Merge pull request #3449 from cgwalters/fix-validate-sig-overwrite
prepare-root: Fix error overwrite
Joseph Marrero Corchado [Wed, 25 Jun 2025 13:24:15 +0000 (09:24 -0400)]
Merge pull request #3448 from cgwalters/refactor-prepare-root-etc
prepare-root: Some prep PRs
Colin Walters [Tue, 24 Jun 2025 20:39:00 +0000 (16:39 -0400)]
prepare-root: Move /etc handling into library
Prep for soft reboots.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 24 Jun 2025 20:47:14 +0000 (16:47 -0400)]
prepare-root: Fix error overwrite
An AI code review tool spotted incorrect usage of GError. Awesome.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 24 Jun 2025 20:29:45 +0000 (16:29 -0400)]
prepare-root: Move metadata for root transient into lib
Prep for soft reboots.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 24 Jun 2025 20:08:29 +0000 (16:08 -0400)]
prepare-root: Move metadata for deployment into otcore
- Rename `mount_composefs` to `mount_rootfs` to make a little clearer
what it does; even though if the rootfs is not composefs we don't
do anything before.
- But do always unconditionally update the metadata builder with
the device/inode
Prep for soft reboots.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 24 Jun 2025 18:49:32 +0000 (14:49 -0400)]
Merge pull request #3447 from cgwalters/prepare-root-sysroot-prep
prepare-root: Don't hardcode sysroot
Colin Walters [Tue, 24 Jun 2025 15:14:41 +0000 (11:14 -0400)]
prepare-root: Don't hardcode sysroot
Follow to previous change to factor out composefs mounting;
prep for soft reboots.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 24 Jun 2025 14:35:50 +0000 (10:35 -0400)]
Merge pull request #3445 from cgwalters/prepare-root-prep
prepare-root: Factor out composefs handling into otcore
Colin Walters [Thu, 19 Jun 2025 11:42:48 +0000 (07:42 -0400)]
prepare-root: Factor out composefs handling into otcore
I'm thinking about creating ostree-prepare-soft-reboot.c.
Prepare for this by factoring out shared helper functions.
Colin Walters [Sat, 14 Jun 2025 06:41:22 +0000 (02:41 -0400)]
Merge pull request #3443 from cgwalters/readme-tweak
rust: Tweaks for README.md
Colin Walters [Sat, 14 Jun 2025 05:28:22 +0000 (07:28 +0200)]
rust: Tweaks for README.md
Mostly an excuse to publish a new crate to test that
regenerating the docs works.
Colin Walters [Thu, 5 Jun 2025 00:42:06 +0000 (20:42 -0400)]
Merge pull request #3439 from cgwalters/update-dockerfile
ci: Rework Dockerfile, add Justfile and improved testing
Colin Walters [Fri, 30 May 2025 20:14:36 +0000 (16:14 -0400)]
ci: Rework Dockerfile, add Justfile and improved testing
- Move the Dockerfile to the toplevel as a primary dev entrypoint
- The Justfile is intended especially for agentic AI like
block/goose or Claude Code as an allowlistable-command entrypoint
- Include attempt at incremental build caching, partially defeated
by autotools
- Add new tests-unit-container that tests ostree-prepare-root in
a container
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Sun, 1 Jun 2025 21:00:01 +0000 (17:00 -0400)]
tests/libtest: Just use python as a webserver if no libsoup
We only have a very few tests that actually need what
we have in ostree-trivial-httpd that supports things like serving
random 500 errors etc.
If we don't have libsoup, then just use a python webserver.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 3 Jun 2025 22:04:59 +0000 (18:04 -0400)]
Merge pull request #3437 from cgwalters/update-dockerfile-prep
A few buildsystem fixes
Colin Walters [Tue, 3 Jun 2025 20:35:31 +0000 (16:35 -0400)]
Merge pull request #3438 from cgwalters/minor-docs
docs: Some typo and link fixes
Colin Walters [Tue, 3 Jun 2025 18:48:45 +0000 (14:48 -0400)]
docs: Some typo and link fixes
Found with AI assistance.
Co-authored-by: Etienne Champetier <champetier.etienne@gmail.com>
Colin Walters [Mon, 2 Jun 2025 21:04:50 +0000 (17:04 -0400)]
ci: Disable soup3 in minimal
Noticed in drive by.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Mon, 2 Jun 2025 21:04:34 +0000 (17:04 -0400)]
libtest: Quiet some output
Otherwise there's a lot of test spam.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Mon, 2 Jun 2025 20:34:16 +0000 (16:34 -0400)]
ci: use srcdir != builddir by default, builddir under target/
This blends better with docker builds where we have a blanket
ignore of `target` in .dockerignore.
Right now we use git.mk to generate .gitignore and autotools
drop stuff all over the place.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Fri, 30 May 2025 20:13:45 +0000 (16:13 -0400)]
ci: Updates for centos builds
- Do the modern way to enable the buildroot with crb and epel
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Fri, 30 May 2025 20:13:21 +0000 (16:13 -0400)]
dockerignore: Add
This ensures we don't pick up things we shouldn't from the source.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Mon, 2 Jun 2025 17:41:09 +0000 (13:41 -0400)]
Turn off gemini summary
It's way too noisy.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Fri, 30 May 2025 20:10:22 +0000 (16:10 -0400)]
apidoc: Quiet many warnings
Should have done this long ago, this greatly reduces the spam
in the terminal logs from builds.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Fri, 30 May 2025 14:08:04 +0000 (10:08 -0400)]
Merge pull request #3435 from jmarrero/prep-indepontent
prep patches for: soft-reboot
Joseph Marrero Corchado [Thu, 29 May 2025 18:48:50 +0000 (14:48 -0400)]
ostree-prepare-root: add option processing for kernel arguments
In a future soft-reboot feature this will allow us to pass kernel
arguments for the deployment we are going to soft-reboot into.
Joseph Marrero Corchado [Thu, 29 May 2025 18:23:00 +0000 (14:23 -0400)]
ostree-prepare-root: make mkdir calls idempotent
Colin Walters [Fri, 23 May 2025 12:55:31 +0000 (08:55 -0400)]
Merge pull request #3425 from samzeter/unused-proc
tests: remove unused import
Samuel Zeter [Wed, 21 May 2025 00:49:48 +0000 (10:49 +1000)]
tests: remove unused import
Fixes:
warning: unused import: `with_procspawn_tempdir::with_procspawn_tempdir`
--> src/test.rs:11:9
|
11 | pub use with_procspawn_tempdir::with_procspawn_tempdir;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
--> src/insttestmain.rs:9:1
|
9 | mod test;
| ^^^^^^^^^
= note: `#[warn(unused_imports)]` on by default
Colin Walters [Thu, 22 May 2025 23:35:08 +0000 (19:35 -0400)]
Merge pull request #3430 from cgwalters/rust-update-2
rust: Also add a feature for v2025_2
Colin Walters [Thu, 22 May 2025 22:18:05 +0000 (18:18 -0400)]
rust: Also add a feature for v2025_2
Colin Walters [Thu, 22 May 2025 13:46:34 +0000 (09:46 -0400)]
Merge pull request #3428 from cgwalters/rust-release
rust: Release new minor version
Colin Walters [Thu, 22 May 2025 13:45:48 +0000 (09:45 -0400)]
Merge pull request #3429 from cgwalters/drop-msrv-check
rust: Drop MSRV job
Colin Walters [Thu, 22 May 2025 13:24:56 +0000 (13:24 +0000)]
rust: Drop MSRV job
Our MSRV is basically covered by the C9S jobs.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Thu, 22 May 2025 12:32:17 +0000 (12:32 +0000)]
rust: Release new minor version
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Thu, 22 May 2025 12:32:17 +0000 (12:32 +0000)]
rust: Release new minor version
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Thu, 22 May 2025 12:29:40 +0000 (08:29 -0400)]
Merge pull request #3422 from cgwalters/rust-update
rust: Update to 2025.2
Colin Walters [Thu, 22 May 2025 12:29:13 +0000 (08:29 -0400)]
Merge pull request #3423 from evan-goode/evan-goode/man-transient
man: Document `ostree admin unlock --transient`
Colin Walters [Thu, 22 May 2025 12:28:41 +0000 (08:28 -0400)]
Merge pull request #3427 from cgwalters/fix-deny
ci: Update deny to v2
Jonathan Lebon [Wed, 21 May 2025 23:04:17 +0000 (19:04 -0400)]
Merge pull request #3426 from cgwalters/fix-live-tests
Jonathan Lebon [Wed, 21 May 2025 20:59:15 +0000 (16:59 -0400)]
ci: build metal and live media in one invocation
This is slightly more efficient because we enter supermin once/invoke
osbuild once.
Colin Walters [Wed, 21 May 2025 13:30:01 +0000 (13:30 +0000)]
ci: Update deny to v2
It looks like the v1 action due to a crate bump
started hard requiring a newer rust?
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 20 May 2025 18:42:46 +0000 (18:42 +0000)]
ci: Drop --fast from buildextend-live
This got dropped apparently with the osbuild rewrite.
Evan Goode [Mon, 19 May 2025 21:08:11 +0000 (21:08 +0000)]
man: Document `ostree admin unlock --transient`
Signed-off-by: Evan Goode <mail@evangoo.de>
Colin Walters [Fri, 16 May 2025 20:19:48 +0000 (16:19 -0400)]
rust: Update to 2025.2
I want the set_null_log in particular.
Colin Walters [Wed, 30 Apr 2025 22:45:15 +0000 (18:45 -0400)]
Merge pull request #3405 from cgwalters/detect-vfat-boot
sysroot: Detect early on when /boot is on vfat
Eric Curtin [Wed, 30 Apr 2025 20:41:56 +0000 (21:41 +0100)]
Merge pull request #3413 from ricardosalveti/aboot
deploy: only set aboot/abootcfg when found
Colin Walters [Sun, 6 Apr 2025 21:24:26 +0000 (17:24 -0400)]
sysroot: Detect early on when /boot is on vfat
We do want to support this (as part of supporing the
Boot Loader Spec) but because we use symlinks in `/boot`,
can't yet.
Error out very early on consistently if we detect
vfat for /boot, but also add a member variable to keep track
of this in preparation for supporting it.
Signed-off-by: Colin Walters <walters@verbum.org>
Ricardo Salveti [Tue, 15 Apr 2025 23:28:33 +0000 (20:28 -0300)]
deploy: only set aboot/abootcfg when found
Bootloader entry should only have aboot and abootcfg configuration
entries when aboot.img is found on the system (e.g.
/usr/lib/modules/$kver).
Otherwise it will be always set, won't be used during boot and
systemd-boot will complain about unknown lines.
Tested-by: Brian Masney <bmasney@redhat.com>
Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
Colin Walters [Wed, 30 Apr 2025 14:20:58 +0000 (10:20 -0400)]
Merge pull request #3416 from cgwalters/test-fixes
Test fixes
Colin Walters [Wed, 30 Apr 2025 12:30:05 +0000 (08:30 -0400)]
tests/prune: Ensure /boot is big enough for 3 bootdata
The size of kernel+initramfs (bootdata) for FCOS has crept up
enough that it's *always* triggering this path, which perturbs
the test into incorrectly triggering early prune.
If we detect that /boot is too small, allocate a new loopback-mounted
copy.
Colin Walters [Wed, 30 Apr 2025 01:16:33 +0000 (21:16 -0400)]
tests/prune: Minor refactor and logging
- Add a shared modules_dir variable to avoid repetition
- Log size of kernel+initramfs
- Log df /boot around when we write and remove "bigfile"
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Wed, 30 Apr 2025 01:00:49 +0000 (21:00 -0400)]
tests/auto-prune: Add logging for steps
So it's a bit easier to find out which part of this code failed.
Colin Walters [Tue, 29 Apr 2025 22:16:31 +0000 (18:16 -0400)]
tests: Drop use of host_refspec
There's no refspec on FCOS now using containers.
We never needed a refspec for any of these, just the commit.
Colin Walters [Tue, 29 Apr 2025 22:16:13 +0000 (18:16 -0400)]
tests: Don't mutate usr/sbin separately
It's now a symlink to usr/bin on Fedora derivatives.
Colin Walters [Tue, 29 Apr 2025 22:31:16 +0000 (18:31 -0400)]
bin/set-origin: Don't crash if origin has no refspec
e.g. if it's using a container instead.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Mon, 28 Apr 2025 20:19:53 +0000 (16:19 -0400)]
Merge pull request #3410 from cgwalters/prepareroot-static-fix
generator: Still create /run/ostree in static prepareroot path
Colin Walters [Wed, 16 Apr 2025 15:31:24 +0000 (11:31 -0400)]
Merge pull request #3407 from cgwalters/boot-load-cleanup
sysroot: Load bootloader configs via boot_fd
Colin Walters [Tue, 15 Apr 2025 19:42:05 +0000 (15:42 -0400)]
Merge pull request #3412 from cgwalters/doc-var-transient
prepare-root: Document that /var is unaffected by root.transient
Colin Walters [Tue, 15 Apr 2025 17:53:57 +0000 (13:53 -0400)]
prepare-root: Document that /var is unaffected by root.transient
Closes: https://github.com/ostreedev/ostree/issues/3409
Colin Walters [Wed, 9 Apr 2025 22:33:40 +0000 (22:33 +0000)]
generator: Still create /run/ostree in static prepareroot path
Ref https://github.com/ostreedev/ostree/pull/3406
There's a combination of two commits here that broke the static
prepareroot path:
ec1109c7a93a2ed07503b12ffecf7048cf7cc0d0
"generator: Stop creating `/run/ostree-booted`"
and more recently
b9ce0e89801bbc92d50473d3620b3f41f1dbef9f
generator: Exit if there's no `/run/ostree`
Basically when run via a non-static prepareroot we create
`/run/ostree-booted` consistently in the initramfs,
using the kernel argument presence as source of truth.
But for the static prepareroot, the generator checked
the kernel argument, and had a fallback of creating it.
Except that's busted in the case of running in a
container, where with many runtimes we still
default to seeing the host's commandline (which
is basically wrong...but fixing that requires a
userspace virtualizer/interceptor for `/proc`
so it's not commonly done).
This should fix the static prepareroot path
by detecting the case where we're compiled
with a static prepareroot, and if so we then
hardcode creating the `/run/ostree-booted`
file in the generator. I think basically
everyone who is compiling ostree with
a static prepareroot *and* including it
in their filesystem trees can be pretty
much guaranteed to be actually using it.
Colin Walters [Tue, 8 Apr 2025 19:52:11 +0000 (19:52 +0000)]
sysroot: Load bootloader configs via boot_fd
This was a general principle cleanup, preparation
for handling VFAT for /boot for systemd-boot/BLS
support.
However I ran into an ugly corner case in our
unit tests that pointed at a sysroot without a
boot directory. The previous logic handled
ENOENT for boot/loader but not /boot.
Continue to cope with that degenerate situation.
Signed-off-by: Colin Walters <walters@verbum.org>
Jonathan Lebon [Fri, 4 Apr 2025 20:11:36 +0000 (16:11 -0400)]
Merge pull request #3403 from ChilloManiac/main
docs: removed unused argument
Christoffer N [Fri, 4 Apr 2025 12:52:42 +0000 (14:52 +0200)]
docs: removed unused argument
Colin Walters [Tue, 25 Mar 2025 20:56:51 +0000 (16:56 -0400)]
Merge pull request #3397 from cgwalters/deployment-backing
unlock: Use deployment backing dir
Colin Walters [Thu, 20 Mar 2025 16:47:48 +0000 (12:47 -0400)]
unlock: Use deployment backing dir
Closes: https://github.com/ostreedev/ostree/issues/3391
Basically it's not uncommon to make `/var/tmp` a separate
partition, but this constrains the amount of data that
can be written to `/usr` when unlocking.
Change things here to write to the deployment's backing
dir which is part of the same rootfs as the storage
and is lifecycle bound to the deployment, ensuring
it gets GC'd.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Mon, 24 Mar 2025 21:40:44 +0000 (17:40 -0400)]
Merge pull request #3400 from cgwalters/add-locked-bool
rust: Add support for `locked` option for `SysrootDeployTreeOpts`
Colin Walters [Mon, 24 Mar 2025 19:48:16 +0000 (15:48 -0400)]
Merge pull request #3398 from cgwalters/older-ostree-fsck
tests: Add backcompat-fsck test
Colin Walters [Mon, 24 Mar 2025 14:19:27 +0000 (10:19 -0400)]
Merge pull request #3401 from ueno/wip/dueno/spki-fixes
Fix build error with --with-
ed25519-libsodium and --with-openssl
Daiki Ueno [Mon, 24 Mar 2025 12:25:12 +0000 (21:25 +0900)]
Fix build error with --with-
ed25519-libsodium and --with-openssl
While libotcore can be configured with those options individually, the
latter is always required for OpenSSL's EVP functions. This splits the
ifdefs to accommodate that.
Signed-off-by: Daiki Ueno <dueno@redhat.com>
Colin Walters [Mon, 24 Mar 2025 12:21:54 +0000 (08:21 -0400)]
rust: Add support for `locked` option for `SysrootDeployTreeOpts`
For use in bootc at least.
Colin Walters [Fri, 21 Mar 2025 15:10:46 +0000 (11:10 -0400)]
tests: Add backcompat-fsck test
We don't have a lot in the way here of formal upgrade/compat tests,
but we definitely should.
Most of our tests just test the built ostree.
I believe this would have caught compatibility issues with
https://github.com/ostreedev/ostree/pull/3346
Joseph Marrero Corchado [Fri, 21 Mar 2025 14:02:03 +0000 (10:02 -0400)]
Merge pull request #3396 from cgwalters/release
Release 2025.2
Colin Walters [Wed, 19 Mar 2025 21:21:08 +0000 (17:21 -0400)]
Post-release version bump
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Wed, 19 Mar 2025 21:20:44 +0000 (17:20 -0400)]
Release 2025.2
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Fri, 21 Mar 2025 12:11:50 +0000 (08:11 -0400)]
tests/auto-prune: Don't go negative
- First I kept wondering what the magic of 10000 was here before
looking above and noticing it matched the number of dtb files.
Make a shared variable so the connection is more obvious
- Next, I *believe* the intention of this test was to test
the edge case of bytes vs blocks, but we ended up subtracting
blocks and I think recent FCOS images happened to get small
enough that we started going negative here.
Fix this to convert the bytes into blocks.
Colin Walters [Tue, 18 Mar 2025 15:02:51 +0000 (11:02 -0400)]
Merge pull request #3278 from ueno/wip/dueno/pkcs8
sign: Support generic "spki" type of commit signatures
Daiki Ueno [Fri, 12 Jul 2024 03:54:13 +0000 (12:54 +0900)]
sign: Support generic "spki" type of commit signatures
The current "
ed25519" signing type assumes raw
Ed25519 key format for
both public and private keys. This patch generalizes it by adding a
new signature type "spki" which uses the X.509 SubjectPublicKeyInfo
format for public keys. Keys in this format can easily be created with
openssl tools and provide crypto agility[1] as the format embeds
algorithm identifier.
The supposed use-case of this feature is to attach multiple signatures
with different algorithms to a single commit, so even if an algorithm
turned vulnerable, the signatures made with other algorithms can still
be used as a fallback. For instance, signer can create an
Ed25519
signature along with a quantum-resistent ML-DSA signature.
The following are a couple of implementation notes:
- The private keys shall be stored in the PKCS#8 format, though future
extensions may support other format such as opaque key handles on a
hardware token.
- The "spki" signature type prefers the keys to be encoded in the PEM
format on disk, while it still accepts base64 encoded keys when given
through the command-line.
1. https://en.wikipedia.org/wiki/Cryptographic_agility
Signed-off-by: Daiki Ueno <dueno@redhat.com>
Daiki Ueno [Wed, 11 Sep 2024 07:04:34 +0000 (16:04 +0900)]
tests: Use tap_ok/tap_end in test-signed-commit.sh
Signed-off-by: Daiki Ueno <dueno@redhat.com>
Daiki Ueno [Fri, 9 Aug 2024 05:54:27 +0000 (14:54 +0900)]
sign: Add PEM reading facility
This adds a new class OstreePemReader, which reads PEM blocks from an
input stream. This would be useful for the "x509" signing backend, as
the keys are typically stored in the PEM format.
Signed-off-by: Daiki Ueno <dueno@redhat.com>
Daiki Ueno [Sun, 11 Aug 2024 06:08:12 +0000 (15:08 +0900)]
sign: Factor out logic to read key blobs
This defines a new interface OstreeBlobReader, which encapsulates the
key file parsing logic. This would make it easy to support custom file
formats such as PEM.
Signed-off-by: Daiki Ueno <dueno@redhat.com>
Daiki Ueno [Sat, 13 Jul 2024 01:05:00 +0000 (10:05 +0900)]
sign: Use explicit_bzero to clear secret key material
Suggested in:
https://github.com/ostreedev/ostree/pull/3278#discussion_r1675696052
Signed-off-by: Daiki Ueno <dueno@redhat.com>
Daiki Ueno [Fri, 12 Jul 2024 06:29:58 +0000 (15:29 +0900)]
sign: Fix typo in error messages and comments
Signed-off-by: Daiki Ueno <dueno@redhat.com>
Colin Walters [Tue, 18 Mar 2025 01:59:05 +0000 (21:59 -0400)]
Merge pull request #3395 from cgwalters/syncfs-clarification
commit: Clarify that syncfs is of repo/tmp
Colin Walters [Mon, 17 Mar 2025 23:09:53 +0000 (19:09 -0400)]
commit: Clarify that syncfs is of repo/tmp
We saw this in an error message:
```
error: Generating commit from rootfs: syncfs: Not a directory
```
I'm pretty sure it's this function call but let's be a bit
more sure by adding a bit more context.
Colin Walters [Mon, 17 Mar 2025 13:21:43 +0000 (09:21 -0400)]
Merge pull request #3387 from smcv/debug3386
test-gpg-verify-result: Show what the result was before asserting about it
Colin Walters [Mon, 17 Mar 2025 12:45:07 +0000 (08:45 -0400)]
Merge pull request #3394 from vmorris/patch-1
Update introduction.md
Colin Walters [Mon, 17 Mar 2025 12:31:40 +0000 (08:31 -0400)]
Merge pull request #3393 from champtar/fsfreeze-boot
Use fsfreeze_thaw_cycle(/boot) instead of fsync(/boot)
Vance Morris [Mon, 17 Mar 2025 03:54:54 +0000 (22:54 -0500)]
Update introduction.md
slight rewording to remove redundancy
Etienne Champetier [Thu, 13 Mar 2025 13:04:20 +0000 (09:04 -0400)]
Use fsfreeze_thaw_cycle(/boot) instead of fsync(/boot)
Grub doesn't support replaying XFS journal, so when using
XFS for /boot, fsync() or syncfs() are not enough and can
leave the system in an unbootable state.
Signed-off-by: Etienne Champetier <e.champetier@ateme.com>
Colin Walters [Mon, 10 Mar 2025 19:57:54 +0000 (15:57 -0400)]
Merge pull request #3389 from jlebon/pr/drop-finalize-staged-path
boot: Drop ostree-finalize-staged.path
Jonathan Lebon [Fri, 7 Mar 2025 21:49:27 +0000 (16:49 -0500)]
boot: Drop ostree-finalize-staged.path
This effectively reverts
ac1a919f ("boot: Add
ostree-finalize-staged.path").
A bug came in on the OCP side that demonstrates that the way things are
setup right now is racy. If a reboot is triggered quickly after staging
a deployment, the whole pipeline of:
- ostree-finalize-staged.path, which triggers
- ostree-finalize-staged.service, which triggers
- ostree-finalize-staged-hold.service,
may not fully have happened before systemd isolates to `reboot.target`
which will want to kill all pending jobs.
Just directly starting the systemd unit is less elegant but much more
explicit and gets rid of any possible race because it's directly part of
the staging operation.
Fixes: https://issues.redhat.com/browse/OCPBUGS-51150
Simon McVittie [Wed, 26 Feb 2025 19:20:00 +0000 (19:20 +0000)]
test-gpg-verify-result: Show what the result was before asserting about it
Helps: https://github.com/ostreedev/ostree/issues/3386
Signed-off-by: Simon McVittie <smcv@debian.org>
Colin Walters [Tue, 25 Feb 2025 21:42:36 +0000 (16:42 -0500)]
Merge pull request #3385 from cgwalters/log-xattr-conflict
core: Fix bare-user xattr canonicalization
Colin Walters [Tue, 25 Feb 2025 19:14:19 +0000 (14:14 -0500)]
core: canonicalize bare-user xattrs
Previously we were erroring out if xattrs were provided in
non-canonical (e.g. unsorted) form all the way down to just
the bare-user path. But for archive repos and dirmeta we
canonicalized.
Canonicalize bare-user xattrs on both read and write consistently
instead of erroring.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 25 Feb 2025 18:41:23 +0000 (13:41 -0500)]
tests/basic: Add lots of user. xattrs
This exercises our requirement for xattr sorting.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 25 Feb 2025 18:33:48 +0000 (13:33 -0500)]
commit: Add errprefix for bareuser metadata
To aid debugging.
Signed-off-by: Colin Walters <walters@verbum.org>